What is web3-utils?
The web3-utils package provides utility functions for Ethereum dapps and other web3.js applications. It includes methods for unit conversion, address formatting, and encoding/decoding of data among other utilities.
What are web3-utils's main functionalities?
Unit Conversion
Converts Wei to other units of Ether such as 'ether', 'gwei', etc.
const Web3Utils = require('web3-utils');
let etherValue = Web3Utils.fromWei('21000000000000', 'ether');
Address Formatting
Converts an Ethereum address to a checksum address to prevent case-sensitivity errors.
const Web3Utils = require('web3-utils');
let checksumAddress = Web3Utils.toChecksumAddress('0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359');
Data Encoding and Decoding
Encodes data using SHA3 or other encoding methods.
const Web3Utils = require('web3-utils');
let encodedData = Web3Utils.sha3('Some data to be hashed');
Random Hex Strings
Generates a random hex string of a given size.
const Web3Utils = require('web3-utils');
let randomHex = Web3Utils.randomHex(32);
BN (BigNumber)
Creates a BigNumber instance which can handle large integers safely.
const Web3Utils = require('web3-utils');
let bigNumber = Web3Utils.toBN('123456');
Other packages similar to web3-utils
ethers
Ethers is a complete Ethereum library and wallet implementation. It provides a similar set of utilities for unit conversion, address handling, and encoding/decoding data. It is often considered a lighter and more modular alternative to web3.js.
ethereumjs-util
Ethereumjs-util is a collection of utility functions for Ethereum, such as account creation and conversion, transaction signing, and data encoding. It is a part of the ethereumjs suite of packages and is more focused on lower-level operations compared to web3-utils.
bignumber.js
While not Ethereum-specific, bignumber.js is a general-purpose library for arbitrary-precision decimal and non-decimal arithmetic. It can be used in place of the BN (BigNumber) functionality provided by web3-utils.
web3-utils
This is a sub-package of web3.js.
This contains useful utility functions for Dapp developers.
Please read the documentation for more.
Installation
You can install the package either using NPM or using Yarn
Using NPM
npm install web3-utils
Using Yarn
yarn add web3-utils
Usage
const Web3Utils = require('web3-utils');
console.log(Web3Utils);
{
sha3: function(){},
soliditySha3: function(){},
isAddress: function(){},
...
}
Types
All the TypeScript typings are placed in the types
folder.